// 倒计时
import { ref, computed } from 'vue'
import { useIntervalFn } from '@vueuse/core'
import dayjs from 'dayjs'
export function useCountDown () {
  // 基于秒
  const countTime = ref(0)
  // 基于分秒  几分几秒
  const formatTime = computed(() => {
    return dayjs.unix(countTime.value).format('mm分ss秒')
  })
  // 每一秒执行一次
  // resume 用来开始执行 your function
  // pause 用来暂停执行 your function
  const { pause, resume } = useIntervalFn(() => {
    /* your function */
    // 每隔1s减1
    // 到零停止
    if (countTime.value === 0) {
      return
    }
    countTime.value--
  }, 1000, false)
  // 只有在正式开始倒计时的时侯，才知道初始值是什么
  function start (time) {
    // 开始倒计时
    countTime.value = time
    resume()
  }
  function stop () {
    // 暂停倒计时
    pause()
  }
  return {
    countTime,
    start,
    stop,
    formatTime
  }
}
